package org.jetnuke.modules.admin.modules;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.velocity.VelocityContext;
import org.jetnuke.common.ActionForward;
import org.jetnuke.common.Configuration;
import org.jetnuke.common.IAction;
import org.jetnuke.common.IAdminInfo;
import org.jetnuke.common.IModuleInfo;
import org.jetnuke.common.IUserInfo;
import org.jetnuke.dao.DataAccessDriver;
import org.jetnuke.entities.Modules;
import org.jetnuke.util.JetUtil;

public class InsModule implements IAction {
String title,titlei18n;
String path;
String bkey;
String inmenu;
public void setInmenu(String inmenu) {
	this.inmenu = inmenu;
}
	/* (non-Javadoc)
	 * @see org.jetnuke.common.IAction#exec(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.velocity.VelocityContext, org.jetnuke.common.IModuleInfo, java.lang.String, org.jetnuke.common.IUserInfo, org.jetnuke.common.IAdminInfo)
	 */
	public ActionForward exec(HttpServletRequest request,
			HttpServletResponse response, VelocityContext vc, IModuleInfo info,
			String op, IUserInfo ui, IAdminInfo ai) throws Exception {
		if (ai == null || !ai.IsSuperUser())
			return null;//Error;
		
		
		Modules module=new Modules();
		module.setTITLE(title);
		module.setACTIVE(1);
		module.setPATH(path);
		if (bkey.equals("all"))
			bkey = null;
		if(titlei18n.equals(""))
			module.setTITLE_I18N(null);
		else
			module.setTITLE_I18N(titlei18n);
		module.setBKEY(bkey);
		
		if (inmenu != null)
			module.setINMENU(1);
		else
			module.setINMENU(0);
		
		DataAccessDriver.getInst().newModulesDAO().addNew(module);
		
		Configuration cfg = new Configuration(request.getSession(true).getServletContext());
		request.getSession(true).getServletContext().setAttribute("_cfg", cfg);
		
		JetUtil.redirect(vc,response,request.getContextPath()+"/do/admin/show_modules");
		return null;//ew ActionForward(op,info);
	}
public void setBkey(String bkey) {
	this.bkey = bkey;
}
public void setPath(String path) {
	this.path = path;
}
public void setTitle(String title) {
	this.title = title;
}
public void setTitlei18n(String titlei18n) {
	this.titlei18n = titlei18n.trim();
}
}
